ggv_log.cc
ggv_ovl.cc
globalsat_sport.cc
- glogbook.cc
- gnav_trl.cc
googledir.cc
gpssim.cc
gtm.cc
ggv_log.cc \
ggv_ovl.cc \
globalsat_sport.cc \
- glogbook.cc \
- gnav_trl.cc \
googledir.cc \
gpssim.cc \
gtm.cc \
--- /dev/null
+/*
+ Access Garmin Logbook (Forerunner/Foretracker) data files.
+
+ Copyright (C) 2004, 2005, 2006, 2007 Robert Lipe, robertlipe+source@gpsbabel.org
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+ */
+
+#include "defs.h"
+#include "src/core/file.h"
+#include "xmlgeneric.h"
+
+#include <QXmlStreamAttributes>
+#include <QXmlStreamWriter>
+
+static gbfile* ofd;
+static QString ostring;
+static QXmlStreamWriter writer(&ostring);
+
+static Waypoint* wpt_tmp;
+static route_head* trk_head;
+
+#define MYNAME "glogbook"
+
+static
+QVector<arglist_t> glogbook_args = {
+};
+
+/* Tracks */
+static xg_callback gl_trk_s;
+// static xg_callback gl_trk_ident;
+static xg_callback gl_trk_pnt_s, gl_trk_pnt_e;
+static xg_callback gl_trk_utc;
+static xg_callback gl_trk_lat;
+static xg_callback gl_trk_long;
+static xg_callback gl_trk_alt;
+
+static xg_tag_mapping gl_map[] = {
+ { gl_trk_s, cb_start, "/History/Run/Track" },
+ { gl_trk_pnt_s,cb_start, "/History/Run/Track/Trackpoint/Position" },
+ { gl_trk_pnt_e,cb_end, "/History/Run/Track/Trackpoint/Position" },
+ { gl_trk_lat, cb_cdata, "/History/Run/Track/Trackpoint/Position/Latitude" },
+ { gl_trk_long, cb_cdata, "/History/Run/Track/Trackpoint/Position/Longitude" },
+ { gl_trk_alt, cb_cdata, "/History/Run/Track/Trackpoint/Position/Altitude" },
+ { gl_trk_utc, cb_cdata, "/History/Run/Track/Trackpoint/Time" },
+ { nullptr, (xg_cb_type)0, nullptr}
+};
+
+static void
+glogbook_rd_init(const QString& fname)
+{
+ xml_init(fname, gl_map, nullptr);
+}
+
+static void
+glogbook_read()
+{
+ xml_read();
+}
+
+static void
+glogbook_rd_deinit()
+{
+ xml_deinit();
+}
+
+static void
+glogbook_wr_init(const QString& fname)
+{
+ ofd = gbfopen(fname, "w", MYNAME);
+ writer.setAutoFormatting(true);
+ writer.setAutoFormattingIndent(4);
+ writer.writeStartDocument();
+}
+
+static void
+glogbook_wr_deinit()
+{
+ writer.writeEndDocument();
+ gbfputs(ostring,ofd);
+ gbfclose(ofd);
+ ofd = nullptr;
+}
+
+static void
+glogbook_waypt_pr(const Waypoint* wpt)
+{
+ writer.writeStartElement(QStringLiteral("Trackpoint"));
+
+ writer.writeStartElement(QStringLiteral("Position"));
+ writer.writeTextElement(QStringLiteral("Latitude"), QString::number(wpt->latitude,'f', 5));
+ writer.writeTextElement(QStringLiteral("Longitude"), QString::number(wpt->longitude,'f', 5));
+ writer.writeTextElement(QStringLiteral("Altitude"), QString::number(wpt->altitude,'f', 3));
+ writer.writeEndElement(); // Position
+
+ writer.writeTextElement(QStringLiteral("Time"), wpt->GetCreationTime().toPrettyString());
+ writer.writeEndElement(); // Trackpoint
+}
+
+static void
+glogbook_hdr(const route_head*)
+{
+ writer.writeStartElement(QStringLiteral("Track"));
+}
+
+static void
+glogbook_ftr(const route_head*)
+{
+ writer.writeEndElement();
+}
+
+static void
+glogbook_write()
+{
+#if 0
+ gbfprintf(ofd, "<?xml version=\"1.0\" ?>\n");
+ gbfprintf(ofd, "<History xmlns=\"http://www.garmin.com/xmlschemas/ForerunnerLogbook\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.garmin.com/xmlschemas/ForerunnerLogbook http://www.garmin.com/xmlschemas/ForerunnerLogbookv1.xsd\" version=\"1\">\n");
+ gbfprintf(ofd, " <Run>\n");
+#else
+ writer.writeStartElement(QStringLiteral("History"));
+ writer.writeStartElement(QStringLiteral("Run"));
+#endif
+ track_disp_all(glogbook_hdr, glogbook_ftr, glogbook_waypt_pr);
+ writer.writeEndElement(); // Run
+ writer.writeEndElement(); // History
+}
+
+void gl_trk_s(xg_string, const QXmlStreamAttributes*)
+{
+ trk_head = new route_head;
+ track_add_head(trk_head);
+}
+
+void gl_trk_pnt_s(xg_string, const QXmlStreamAttributes*)
+{
+ wpt_tmp = new Waypoint;
+}
+
+void gl_trk_pnt_e(xg_string, const QXmlStreamAttributes*)
+{
+ track_add_wpt(trk_head, wpt_tmp);
+}
+
+void gl_trk_utc(xg_string args, const QXmlStreamAttributes*)
+{
+ wpt_tmp->SetCreationTime(xml_parse_time(args));
+}
+
+void gl_trk_lat(xg_string args, const QXmlStreamAttributes*)
+{
+ wpt_tmp->latitude = args.toDouble();
+}
+
+void gl_trk_long(xg_string args, const QXmlStreamAttributes*)
+{
+ wpt_tmp->longitude = args.toDouble();
+}
+
+void gl_trk_alt(xg_string args, const QXmlStreamAttributes*)
+{
+ wpt_tmp->altitude = args.toDouble();
+}
+
+
+
+ff_vecs_t glogbook_vecs = {
+ ff_type_file,
+ { ff_cap_none, (ff_cap)(ff_cap_read | ff_cap_write), ff_cap_none},
+ glogbook_rd_init,
+ glogbook_wr_init,
+ glogbook_rd_deinit,
+ glogbook_wr_deinit,
+ glogbook_read,
+ glogbook_write,
+ nullptr,
+ &glogbook_args,
+ CET_CHARSET_ASCII, 0 /* CET-REVIEW */
+ , NULL_POS_OPS
+};
--- /dev/null
+/*
+
+ Support for Google Navigator tracklines (.trl).
+
+ Copyright (C) 2008 Olaf Klein, o.b.klein@gpsbabel.org
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+ */
+
+#include "defs.h"
+
+#define MYNAME "gnav_trl"
+
+static
+QVector<arglist_t> gnav_trl_args = {
+};
+
+struct gnav_trl_t {
+ uint32_t time;
+ float lat;
+ float lon;
+ uint32_t alt;
+};
+
+static gbfile* fin, *fout;
+
+/*******************************************************************************
+* %%% global callbacks called by gpsbabel main process %%% *
+*******************************************************************************/
+
+static void
+gnav_trl_rd_init(const QString& fname)
+{
+ fin = gbfopen_le(fname, "rb", MYNAME);
+}
+
+static void
+gnav_trl_rw_init(const QString& fname)
+{
+ fout = gbfopen_le(fname, "wb", MYNAME);
+}
+
+static void
+gnav_trl_rd_deinit()
+{
+ gbfclose(fin);
+}
+
+static void
+gnav_trl_rw_deinit()
+{
+ gbfclose(fout);
+}
+
+static double
+read_altitude(void* ptr)
+{
+ auto* i = (unsigned char*) ptr;
+ char buf[sizeof(float)];
+ le_write32(&buf, i[2] << 24 | i[1] << 16 | i[0] <<8 | i[3]);
+ return le_read_float(&buf);
+}
+
+static void
+write_altitude(void* ptr, const float alt)
+{
+ char buf[sizeof(float)];
+ auto* i = (unsigned char*) &buf;
+ le_write_float(&buf, alt);
+ le_write32(ptr, i[0] << 24 | i[3] << 16 | i[2] << 8 | i[1]);
+}
+
+static void
+gnav_trl_read()
+{
+ route_head* trk = nullptr;
+
+ while (! gbfeof(fin)) {
+ gnav_trl_t rec;
+
+ if (gbfread(&rec, sizeof(rec), 1, fin) != 1) {
+ fatal(MYNAME ": Unexpected EOF (end of file)!\n");
+ }
+
+ auto* wpt = new Waypoint;
+
+ wpt->SetCreationTime(le_read32(&rec.time));
+ wpt->latitude = le_read_float(&rec.lat);
+ wpt->longitude = le_read_float(&rec.lon);
+ wpt->altitude = read_altitude(&rec.alt);
+
+ if (trk == nullptr) {
+ trk = new route_head;
+ track_add_head(trk);
+ }
+ track_add_wpt(trk, wpt);
+ }
+}
+
+static void
+gnav_trl_write_trkpt(const Waypoint* wpt)
+{
+ gnav_trl_t rec;
+
+ le_write32(&rec.time, wpt->GetCreationTime().toTime_t());
+ le_write_float(&rec.lat, wpt->latitude);
+ le_write_float(&rec.lon, wpt->longitude);
+ if (wpt->altitude != unknown_alt) {
+ write_altitude(&rec.alt, wpt->altitude);
+ } else {
+ write_altitude(&rec.alt, 0);
+ }
+
+ gbfwrite(&rec, sizeof(rec), 1, fout);
+}
+
+static void
+gnav_trl_write()
+{
+ track_disp_all(nullptr, nullptr, gnav_trl_write_trkpt);
+}
+
+
+/**************************************************************************/
+
+ff_vecs_t gnav_trl_vecs = {
+ ff_type_file,
+ {
+ ff_cap_none /* waypoints */,
+ (ff_cap)(ff_cap_read | ff_cap_write) /* tracks */,
+ ff_cap_none /* routes */
+ },
+ gnav_trl_rd_init,
+ gnav_trl_rw_init,
+ gnav_trl_rd_deinit,
+ gnav_trl_rw_deinit,
+ gnav_trl_read,
+ gnav_trl_write,
+ nullptr,
+ &gnav_trl_args,
+ CET_CHARSET_UTF8, 1 /* CET - do nothing ! */
+ , NULL_POS_OPS
+};
+
+/**************************************************************************/
+++ /dev/null
-/*
- Access Garmin Logbook (Forerunner/Foretracker) data files.
-
- Copyright (C) 2004, 2005, 2006, 2007 Robert Lipe, robertlipe+source@gpsbabel.org
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
- */
-
-#include "defs.h"
-#include "src/core/file.h"
-#include "xmlgeneric.h"
-
-#include <QXmlStreamAttributes>
-#include <QXmlStreamWriter>
-
-static gbfile* ofd;
-static QString ostring;
-static QXmlStreamWriter writer(&ostring);
-
-static Waypoint* wpt_tmp;
-static route_head* trk_head;
-
-#define MYNAME "glogbook"
-
-static
-QVector<arglist_t> glogbook_args = {
-};
-
-/* Tracks */
-static xg_callback gl_trk_s;
-// static xg_callback gl_trk_ident;
-static xg_callback gl_trk_pnt_s, gl_trk_pnt_e;
-static xg_callback gl_trk_utc;
-static xg_callback gl_trk_lat;
-static xg_callback gl_trk_long;
-static xg_callback gl_trk_alt;
-
-static xg_tag_mapping gl_map[] = {
- { gl_trk_s, cb_start, "/History/Run/Track" },
- { gl_trk_pnt_s,cb_start, "/History/Run/Track/Trackpoint/Position" },
- { gl_trk_pnt_e,cb_end, "/History/Run/Track/Trackpoint/Position" },
- { gl_trk_lat, cb_cdata, "/History/Run/Track/Trackpoint/Position/Latitude" },
- { gl_trk_long, cb_cdata, "/History/Run/Track/Trackpoint/Position/Longitude" },
- { gl_trk_alt, cb_cdata, "/History/Run/Track/Trackpoint/Position/Altitude" },
- { gl_trk_utc, cb_cdata, "/History/Run/Track/Trackpoint/Time" },
- { nullptr, (xg_cb_type)0, nullptr}
-};
-
-static void
-glogbook_rd_init(const QString& fname)
-{
- xml_init(fname, gl_map, nullptr);
-}
-
-static void
-glogbook_read()
-{
- xml_read();
-}
-
-static void
-glogbook_rd_deinit()
-{
- xml_deinit();
-}
-
-static void
-glogbook_wr_init(const QString& fname)
-{
- ofd = gbfopen(fname, "w", MYNAME);
- writer.setAutoFormatting(true);
- writer.setAutoFormattingIndent(4);
- writer.writeStartDocument();
-}
-
-static void
-glogbook_wr_deinit()
-{
- writer.writeEndDocument();
- gbfputs(ostring,ofd);
- gbfclose(ofd);
- ofd = nullptr;
-}
-
-static void
-glogbook_waypt_pr(const Waypoint* wpt)
-{
- writer.writeStartElement(QStringLiteral("Trackpoint"));
-
- writer.writeStartElement(QStringLiteral("Position"));
- writer.writeTextElement(QStringLiteral("Latitude"), QString::number(wpt->latitude,'f', 5));
- writer.writeTextElement(QStringLiteral("Longitude"), QString::number(wpt->longitude,'f', 5));
- writer.writeTextElement(QStringLiteral("Altitude"), QString::number(wpt->altitude,'f', 3));
- writer.writeEndElement(); // Position
-
- writer.writeTextElement(QStringLiteral("Time"), wpt->GetCreationTime().toPrettyString());
- writer.writeEndElement(); // Trackpoint
-}
-
-static void
-glogbook_hdr(const route_head*)
-{
- writer.writeStartElement(QStringLiteral("Track"));
-}
-
-static void
-glogbook_ftr(const route_head*)
-{
- writer.writeEndElement();
-}
-
-static void
-glogbook_write()
-{
-#if 0
- gbfprintf(ofd, "<?xml version=\"1.0\" ?>\n");
- gbfprintf(ofd, "<History xmlns=\"http://www.garmin.com/xmlschemas/ForerunnerLogbook\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.garmin.com/xmlschemas/ForerunnerLogbook http://www.garmin.com/xmlschemas/ForerunnerLogbookv1.xsd\" version=\"1\">\n");
- gbfprintf(ofd, " <Run>\n");
-#else
- writer.writeStartElement(QStringLiteral("History"));
- writer.writeStartElement(QStringLiteral("Run"));
-#endif
- track_disp_all(glogbook_hdr, glogbook_ftr, glogbook_waypt_pr);
- writer.writeEndElement(); // Run
- writer.writeEndElement(); // History
-}
-
-void gl_trk_s(xg_string, const QXmlStreamAttributes*)
-{
- trk_head = new route_head;
- track_add_head(trk_head);
-}
-
-void gl_trk_pnt_s(xg_string, const QXmlStreamAttributes*)
-{
- wpt_tmp = new Waypoint;
-}
-
-void gl_trk_pnt_e(xg_string, const QXmlStreamAttributes*)
-{
- track_add_wpt(trk_head, wpt_tmp);
-}
-
-void gl_trk_utc(xg_string args, const QXmlStreamAttributes*)
-{
- wpt_tmp->SetCreationTime(xml_parse_time(args));
-}
-
-void gl_trk_lat(xg_string args, const QXmlStreamAttributes*)
-{
- wpt_tmp->latitude = args.toDouble();
-}
-
-void gl_trk_long(xg_string args, const QXmlStreamAttributes*)
-{
- wpt_tmp->longitude = args.toDouble();
-}
-
-void gl_trk_alt(xg_string args, const QXmlStreamAttributes*)
-{
- wpt_tmp->altitude = args.toDouble();
-}
-
-
-
-ff_vecs_t glogbook_vecs = {
- ff_type_file,
- { ff_cap_none, (ff_cap)(ff_cap_read | ff_cap_write), ff_cap_none},
- glogbook_rd_init,
- glogbook_wr_init,
- glogbook_rd_deinit,
- glogbook_wr_deinit,
- glogbook_read,
- glogbook_write,
- nullptr,
- &glogbook_args,
- CET_CHARSET_ASCII, 0 /* CET-REVIEW */
- , NULL_POS_OPS
-};
+++ /dev/null
-/*
-
- Support for Google Navigator tracklines (.trl).
-
- Copyright (C) 2008 Olaf Klein, o.b.klein@gpsbabel.org
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
- */
-
-#include "defs.h"
-
-#define MYNAME "gnav_trl"
-
-static
-QVector<arglist_t> gnav_trl_args = {
-};
-
-struct gnav_trl_t {
- uint32_t time;
- float lat;
- float lon;
- uint32_t alt;
-};
-
-static gbfile* fin, *fout;
-
-/*******************************************************************************
-* %%% global callbacks called by gpsbabel main process %%% *
-*******************************************************************************/
-
-static void
-gnav_trl_rd_init(const QString& fname)
-{
- fin = gbfopen_le(fname, "rb", MYNAME);
-}
-
-static void
-gnav_trl_rw_init(const QString& fname)
-{
- fout = gbfopen_le(fname, "wb", MYNAME);
-}
-
-static void
-gnav_trl_rd_deinit()
-{
- gbfclose(fin);
-}
-
-static void
-gnav_trl_rw_deinit()
-{
- gbfclose(fout);
-}
-
-static double
-read_altitude(void* ptr)
-{
- auto* i = (unsigned char*) ptr;
- char buf[sizeof(float)];
- le_write32(&buf, i[2] << 24 | i[1] << 16 | i[0] <<8 | i[3]);
- return le_read_float(&buf);
-}
-
-static void
-write_altitude(void* ptr, const float alt)
-{
- char buf[sizeof(float)];
- auto* i = (unsigned char*) &buf;
- le_write_float(&buf, alt);
- le_write32(ptr, i[0] << 24 | i[3] << 16 | i[2] << 8 | i[1]);
-}
-
-static void
-gnav_trl_read()
-{
- route_head* trk = nullptr;
-
- while (! gbfeof(fin)) {
- gnav_trl_t rec;
-
- if (gbfread(&rec, sizeof(rec), 1, fin) != 1) {
- fatal(MYNAME ": Unexpected EOF (end of file)!\n");
- }
-
- auto* wpt = new Waypoint;
-
- wpt->SetCreationTime(le_read32(&rec.time));
- wpt->latitude = le_read_float(&rec.lat);
- wpt->longitude = le_read_float(&rec.lon);
- wpt->altitude = read_altitude(&rec.alt);
-
- if (trk == nullptr) {
- trk = new route_head;
- track_add_head(trk);
- }
- track_add_wpt(trk, wpt);
- }
-}
-
-static void
-gnav_trl_write_trkpt(const Waypoint* wpt)
-{
- gnav_trl_t rec;
-
- le_write32(&rec.time, wpt->GetCreationTime().toTime_t());
- le_write_float(&rec.lat, wpt->latitude);
- le_write_float(&rec.lon, wpt->longitude);
- if (wpt->altitude != unknown_alt) {
- write_altitude(&rec.alt, wpt->altitude);
- } else {
- write_altitude(&rec.alt, 0);
- }
-
- gbfwrite(&rec, sizeof(rec), 1, fout);
-}
-
-static void
-gnav_trl_write()
-{
- track_disp_all(nullptr, nullptr, gnav_trl_write_trkpt);
-}
-
-
-/**************************************************************************/
-
-ff_vecs_t gnav_trl_vecs = {
- ff_type_file,
- {
- ff_cap_none /* waypoints */,
- (ff_cap)(ff_cap_read | ff_cap_write) /* tracks */,
- ff_cap_none /* routes */
- },
- gnav_trl_rd_init,
- gnav_trl_rw_init,
- gnav_trl_rd_deinit,
- gnav_trl_rw_deinit,
- gnav_trl_read,
- gnav_trl_write,
- nullptr,
- &gnav_trl_args,
- CET_CHARSET_UTF8, 1 /* CET - do nothing ! */
- , NULL_POS_OPS
-};
-
-/**************************************************************************/
fugawi txt Fugawi
garmin301 Garmin 301 Custom position and heartrate
garmin_g1000 csv Garmin G1000 datalog input filter file
-glogbook xml Garmin Logbook XML
gdb gdb Garmin MapSource - gdb
garmin_txt txt Garmin MapSource - txt (tab delimited)
garmin_poi Garmin POI database
globalsat GlobalSat GH625XT GPS training watch
googledir xml Google Directions XML
kml kml Google Earth (Keyhole) Markup Language
-gnav_trl trl Google Navigator Tracklines (.trl)
land_air_sea txt GPS Tracking Key Pro text
gtm gtm GPS TrackMaker
arc txt GPSBabel arc filter file
file fugawi txt Fugawi
file garmin301 Garmin 301 Custom position and heartrate
file garmin_g1000 csv Garmin G1000 datalog input filter file
-file glogbook xml Garmin Logbook XML
file gdb gdb Garmin MapSource - gdb
file garmin_txt txt Garmin MapSource - txt (tab delimited)
file garmin_poi Garmin POI database
serial globalsat GlobalSat GH625XT GPS training watch
file googledir xml Google Directions XML
file kml kml Google Earth (Keyhole) Markup Language
-file gnav_trl trl Google Navigator Tracklines (.trl)
file land_air_sea txt GPS Tracking Key Pro text
file gtm gtm GPS TrackMaker
file arc txt GPSBabel arc filter file
file rw---- fugawi txt Fugawi
file rw---- garmin301 Garmin 301 Custom position and heartrate
file --rw-- garmin_g1000 csv Garmin G1000 datalog input filter file
-file --rw-- glogbook xml Garmin Logbook XML
file rwrwrw gdb gdb Garmin MapSource - gdb
file rwrwrw garmin_txt txt Garmin MapSource - txt (tab delimited)
file rw---- garmin_poi Garmin POI database
serial --r--- globalsat GlobalSat GH625XT GPS training watch
file --r--- googledir xml Google Directions XML
file rwrwrw kml kml Google Earth (Keyhole) Markup Language
-file --rw-- gnav_trl trl Google Navigator Tracklines (.trl)
file --rw-- land_air_sea txt GPS Tracking Key Pro text
file rwrwrw gtm gtm GPS TrackMaker
file rw---- arc txt GPSBabel arc filter file
option garmin_g1000 datum GPS datum (def. WGS 84) string https://www.gpsbabel.org/WEB_DOC_DIR/fmt_garmin_g1000.html#fmt_garmin_g1000_o_datum
-file --rw-- glogbook xml Garmin Logbook XML glogbook
- https://www.gpsbabel.org/WEB_DOC_DIR/fmt_glogbook.html
file rwrwrw gdb gdb Garmin MapSource - gdb gdb
https://www.gpsbabel.org/WEB_DOC_DIR/fmt_gdb.html
option gdb cat Default category on output (1..16) integer 1 16 https://www.gpsbabel.org/WEB_DOC_DIR/fmt_gdb.html#fmt_gdb_o_cat
option kml prec Precision of coordinates, number of decimals integer 6 https://www.gpsbabel.org/WEB_DOC_DIR/fmt_kml.html#fmt_kml_o_prec
-file --rw-- gnav_trl trl Google Navigator Tracklines (.trl) gnav_trl
- https://www.gpsbabel.org/WEB_DOC_DIR/fmt_gnav_trl.html
file --rw-- land_air_sea txt GPS Tracking Key Pro text xcsv
https://www.gpsbabel.org/WEB_DOC_DIR/fmt_land_air_sea.html
option land_air_sea snlen Max synthesized shortname length integer 1 https://www.gpsbabel.org/WEB_DOC_DIR/fmt_land_air_sea.html#fmt_land_air_sea_o_snlen
urlbase Basename prepended to URL on output
prefer_shortnames (0/1) Use shortname instead of description
datum GPS datum (def. WGS 84)
- glogbook Garmin Logbook XML
gdb Garmin MapSource - gdb
cat Default category on output (1..16)
bitscategory Bitmap of categories
max_position_point Retain at most this number of position points (0
rotate_colors Rotate colors for tracks and routes (default autom
prec Precision of coordinates, number of decimals
- gnav_trl Google Navigator Tracklines (.trl)
land_air_sea GPS Tracking Key Pro text
snlen Max synthesized shortname length
snwhite (0/1) Allow whitespace synth. shortnames
+++ /dev/null
-#
-# Garmin logbook. This format has an extra section (lap data with things
-# like heartbeat and calories burned) that we don't know what to do with,
-# so we convert it to gpx, convert it to itself, convert THAT to gpx, and
-# compare those.
-#
-rm -f ${TMPDIR}/glogbook*
-gpsbabel -i glogbook -f ${REFERENCE}/track/garmin_logbook.xml -o gpx -F ${TMPDIR}/glog1.gpx
-gpsbabel -i glogbook -f ${REFERENCE}/track/garmin_logbook.xml -o glogbook -F ${TMPDIR}/glog.xml
-gpsbabel -i glogbook -f ${TMPDIR}/glog.xml -o gpx -F ${TMPDIR}/glog2.gpx
-compare ${TMPDIR}/glog1.gpx ${TMPDIR}/glog2.gpx
+++ /dev/null
-
-#
-# Google Navigator tracklines
-#
-gpsbabel -i gnav_trl -f ${REFERENCE}/track/gnav_trl.trl -t -o unicsv,utc=0 -F ${TMPDIR}/gnav_trl~trl.csv
-compare ${REFERENCE}/track/gnav_trl~trl.csv ${TMPDIR}/gnav_trl~trl.csv
-gpsbabel -i gnav_trl -f ${REFERENCE}/track/gnav_trl.trl -o gnav_trl -F ${TMPDIR}/gnav_trl.trl
-gpsbabel -i gnav_trl -f ${TMPDIR}/gnav_trl.trl -t -o unicsv,utc=0 -F ${TMPDIR}/gnav_trl~trl2.csv
-compare ${REFERENCE}/track/gnav_trl~trl.csv ${TMPDIR}/gnav_trl~trl2.csv
-
#if MAXIMAL_ENABLED
extern ff_vecs_t wbt_fvecs;
//extern ff_vecs_t wbt_fvecs;
-extern ff_vecs_t glogbook_vecs;
extern ff_vecs_t vcf_vecs;
extern ff_vecs_t google_dir_vecs;
extern ff_vecs_t tomtom_vecs;
extern ff_vecs_t destinator_trl_vecs;
extern ff_vecs_t igo8_vecs;
extern ff_vecs_t mapasia_tr7_vecs;
-extern ff_vecs_t gnav_trl_vecs;
extern ff_vecs_t navitel_trk_vecs;
extern ff_vecs_t ggv_ovl_vecs;
extern ff_vecs_t itracku_vecs;
#if MAXIMAL_ENABLED
LegacyFormat wbt_ffmt {wbt_fvecs};
//LegacyFormat wbt_ffmt {wbt_fvecs};
- LegacyFormat glogbook_fmt {glogbook_vecs};
LegacyFormat vcf_fmt {vcf_vecs};
LegacyFormat google_dir_fmt {google_dir_vecs};
LegacyFormat tomtom_fmt {tomtom_vecs};
HumminbirdFormat humminbird_fmt;
HumminbirdHTFormat humminbird_ht_fmt;
LegacyFormat mapasia_tr7_fmt {mapasia_tr7_vecs};
- LegacyFormat gnav_trl_fmt {gnav_trl_vecs};
LegacyFormat navitel_trk_fmt {navitel_trk_vecs};
LegacyFormat ggv_ovl_fmt {ggv_ovl_vecs};
LegacyFormat itracku_fmt {itracku_vecs};
"tr7",
nullptr,
},
- {
- &gnav_trl_fmt,
- "gnav_trl",
- "Google Navigator Tracklines (.trl)",
- "trl",
- nullptr,
- },
{
&navitel_trk_fmt,
"navitel_trk",
+++ /dev/null
-<para>
- This is the XML format used by the Garmin Logbook product
- that ships with Forerunner and Foretrex.
- As of early 2006, this program is apparently been discontinued in favor of
- <link linkend="fmt_gtrnctr">Garmin Training Center</link>.
-
- See: <ulink url="http://www.garmin.com">http://www.garmin.com</ulink>
-</para>
-
+++ /dev/null
-<para>
- Binary (little endian) tracklogs containing coordinates, timestamps and altitude values.
-</para>
-
-<para>
- <ulink url="http://www.pdafun.net/">Google Navigator</ulink> is an application for PDAs
- running under Windows Mobile 5.0 or 6.0.
-</para>
-
-<para>
- <table id="structure">
- <title>Track point structure (16 bytes)</title>
- <tgroup cols="3">
- <thead>
- <row>
- <entry>Position</entry>
- <entry>Data type</entry>
- <entry>Field info</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>0</entry>
- <entry>32-bit signed int</entry>
- <entry>Unix timestamp</entry>
- </row>
- <row>
- <entry>4</entry>
- <entry>32-bit float</entry>
- <entry>Latitude</entry>
- </row>
- <row>
- <entry>8</entry>
- <entry>32-bit float</entry>
- <entry>Longitude</entry>
- </row>
- <row>
- <entry>12</entry>
- <entry>32-bit float</entry>
- <entry>Altitude (!rotated left by eight bits!)</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-</para>